How to Create a Full cPanel Backup through SSH
This article will guide you on how to create a full cPanel backup through SSH.
⚠️ The syntax detailed in this document is for cPanel & WHM versions 11.28 and later. The syntax and parameters listed below will not work for older versions of cPanel & WHM.
-
You will need to log into your server via SSH as root. If you unfamiliar with how to do this, please feel free to visit this guide.
-
You will then execute the command
/scripts/pkgacct $user
.
Things to keep in mind.
-
$user
is used in the sense that it represents the username of the cPanel account you are attempting to create a backup of.
Below is a list of the available parameters that can be passed with the script:
Parameter | Description | Input Type |
---|---|---|
$user | This variable is required whenever --bincheck is not used. When passing this variable, replace $user with the username corresponding to the cPanel account you wish to package. | string |
$destination | This is an optional variable that allows you to specify the path to the directory in which you wish to store the cpmove archive. The $destination variable must follow the $user variable, e.g./scripts/pkgacct $user $destination . | string |
--allow-override | Causes the script to use instructions in /var/cpanel/lib/Whostmgr/Pkgacct/pkgacct , if any are present. | N/A |
--bincheck | This parameter ensures that any scripts called by the cPanel binary will run. If successful, the script will print 'BinCheck ok' . When using this argument, you do not need to pass $user . | N/A |
--version | The version of the archive being created. | string |
--mysql | The version of MySQL used by the account's databases. | string |
--use_backups | Causes the most recent backup to be converted into a cpmove archive. This option will speed up the process but may result in lost or old data. | N/A |
--skiphomedir | This parameter will exclude the user's home directory from the archive. If the account will be transferred, the user's home directory can be moved with a faster protocol. | N/A |
--incremental | When this parameter is used, only information that was not contained within the previous archive will be packaged. This parameter will not work if no cpmove archive is found. | N/A |
--split | Causes the archive to be created in chunks. This will reduce the overall load on the system. | N/A |
--nocompress | Passing this parameter will leave the resulting cpmove archive uncompressed. | N/A |
--compress | This parameter can override the --nocompress argument if it is present. There is no reason to use this argument as archives are compressed by default. | N/A |
--skipacctdb | This parameter prevents the account's databases from being included in the archive. | N/A |
--userbackup | Allows the user to use the resulting cpmove archive as a backup for the account. | N/A |
--backup | Causes the resulting archive to be used as an account's backup. | N/A |
ℹ️ The guide was constructed from cPanel's official guide found here.